package com.lanchetech.dao;

import com.lanchetech.bean.request.PageReq;
import com.lanchetech.entity.UserRole;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserRoleMapper {
    int deleteByPrimaryKey(Long id);

    int insert(UserRole record);

    int insertSelective(UserRole record);

    UserRole selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(UserRole record);

    int updateByPrimaryKey(UserRole record);

    int deleteByUserIdAndRoleId(@Param("userId") Long userId, @Param("roleId") Long roleId);

    int deleteByRoleIdAndRelateId(@Param("roleId") Long roleId, @Param("relateId") Long relateId);

    int updateNameByRoleIdAndRelateId(@Param("updatedName") String updatedName, @Param("roleId") Long roleId, @Param("relateId") Long relateId);

    List<UserRole> findAllByRoleIdAndRelateId(@Param("roleId") Long roleId, @Param("relateId") Long relateId);

    UserRole findOneByUserIdAndRoleId(@Param("userId") Long userId, @Param("roleId") Long roleId);

    List<UserRole> findAllPage(PageReq req);

    int deleteByIdAndRelateId(@Param("id") Long id, @Param("relateId") Long relateId);

    List<UserRole> findAllByUserId(@Param("userId")Long userId);





}